#include "stm32f10x.h"
#include "MyFLASH.h"
#include  "Store.h"
uint16_t store_Data[512];


//闪存最后一页，每一页的数据有  512*16    最后一页的数据全部都编程为数据0，并写入SRAM
void store_Init(void){
	
	if(MyFLASH_ReadHWord(0x800FC00)!= 0xA5A5)//这是标志位
	{
		MyFLASH_ErasePage(0x800FC00);
		MyFLASH_ProgramHWord(0x800FC00,0xA5A5);
		for(uint16_t i =1 ;i<512;i++){
			MyFLASH_ProgramHWord(0x800FC00+i*2,0x0000);
		}
	}
	for(uint16_t i = 0; i<512 ;i++){
	store_Data[i] = MyFLASH_ReadHWord(0x800FC00+i*2);
	}
	
}

//把数据从SRAM写入到FLASH中，但是先把FLASH清空
void store_Save(void){
	MyFLASH_ErasePage(0x800FC00);
	for(uint16_t i = 0; i<512 ;i++){
	MyFLASH_ProgramHWord(0x800FC00+i*2,store_Data[i]);
	}
}
void store_Clear(){
		for(uint16_t i = 0; i<512 ;i++){
	store_Data[i] = 0x0000;
		
	}
		store_Save();
	
}